<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // const arr = [1,2,3,4,5,6,7,8]

    // arr.forEach(function(val, index, array) {
    //   console.log(val)
    // })

    // const arr1 = arr.map(function(val, index, array) {
    //   return { val: val, index: index }
    // })

    // const arr1 = arr.filter(function(val, index, array) {
    //   return val > 5
    // })

    // console.log(arr.includes(10))

    // const f = arr.every(function(val, index, array) {
    //   console.log(val)
    //   return val < 4
    // })

    // const it = arr.findIndex(function (val, index, array) {
    //   console.log(val)
    //   return val > 4
    // })

    const arr = [1,2,3,4,5,6,7,8]

    // const f = arr.reduce(function (prev, val, index, array) {
    //   // prev: 此函数上一次执行的返回值
    //   console.log(prev)
    //   return prev + val
    // }, 0)

    // prev: 0   val: 1
    // prev: 1   val: 2
    // prev: 3   val: 3
    // prev: 6   val: 4
    // prev: 10   val: 5
    // prev: 15   val: 6
    // prev: 21   val: 7
    // prev: 28   val: 8
    // f: 36



    // const arr2 = [1,2,3,1,2,23,43,2]
    // const f2 = arr2.reduceRight(function (prev, val, index, array) {
    //   console.log(val)
    //   if (!prev.includes(val)) {
    //     prev.push(val)
    //   }
    //   return prev
    // }, [])


    // console.log(f2)


    // 数组拍平
    const arr4 = [[1,[2,[3,[4,5],6],7],8,9],0]
    // console.log(arr4.flat(2))

    console.log(arr4.flat(Infinity))








  </script>
</body>
</html>